import { ajax, tools } from './ajax.js';

let selsf = document.getElementById('selsf');
let selcs = document.getElementById('selcs');

//#region 省份的部分

// 查询省份信息的方法
function querySf() {
  ajax.post('/linkinfo/queryAllProvince', {}, (data) => {
    if (!data.success) {
      alert(data.message);
      return;
    }
    console.log('省份列表：', data.list);
    showSf(data.list);
  });
}

// 显示省份信息的方法
function showSf(list) {
  for (let i = 0; i < list.length; i++) {
    let info = list[i];
    console.log('省份信息：', info);
    // 生成省份的选项
    let op = document.createElement('option');
    op.setAttribute('value', info.pid);
    op.append(info.province);

    selsf.append(op);
  }
  // 设置默认值
  let index = parseInt(list.length / 2);
  selsf.value = list[index].pid;
  // 省份变化就要调用查询城市的方法
  queryCs();
}

// 省份变化就要调用查询城市的方法
selsf.addEventListener('change', queryCs);

querySf();
//#endregion

//#region 城市的部分

// 查询城市的部分
function queryCs() {
  // 先要获取选中的省份的信息
  let pid = selsf.value;
  console.log('选中的省份编号：', pid);
  // 查询城市信息
  ajax.post(
    '/linkinfo/queryCityByProvince',
    {
      pid: pid,
    },
    (data) => {
      if (!data.success) {
        alert(data.message);
        return;
      }
      console.log('城市列表：', data.list);
      showCs(data.list);
    }
  );
}

function showCs(list) {
  //清除掉原有的城市信息
  selcs.innerHTML = '';

  for (let i = 0; i < list.length; i++) {
    let info = list[i];
    let op = document.createElement('option');
    op.setAttribute('value', info.cid);
    op.append(info.city);
    selcs.append(op);
  }
}

//#endregion

// 作业:仿造省份城市联动完成班级和学生的联动

let selbm = document.getElementById('selbm');
//#region 部门的部分

function queryBm() {
  ajax.post('/linkinfo/queryAllDept', {}, (data) => {
    if (!data.success) {
      alert(data.message);
      return;
    }
    showBm(data.list);
  });
}

function showBm(list) {
  for (let i = 0; i < list.length; i++) {
    let info = list[i];
    let op = document.createElement('option');
    op.setAttribute('value', info.deptId);
    op.append(info.deptName);
    selbm.append(op);
  }
  // 设置选中索引值
  selbm.selectedIndex = 0;
  queryYg();
}

selbm.addEventListener('change', queryYg);

queryBm();

//#endregion

let tbData = document.getElementById('tbData');

//#region 员工的部分
function queryYg() {
  ajax.post(
    '/linkinfo/queryEmployeeByDept',
    {
      deptId: selbm.value,
    },
    (data) => {
      if (!data.success) {
        alert(data.message);
        return;
      }
      showYg(data.list);
    }
  );
}

function showYg(list) {
  tbData.innerHTML = '';
  // 生成表格数据
  for (let i = 0; i < list.length; i++) {
    let info = list[i];
    // 创建tr，表示一行数据
    let tr = document.createElement('tr');
    // 创建td，表示一个数据单元格
    let td;
    // 编号信息
    td = document.createElement('td');
    td.append(info.employeeId);
    tr.append(td);

    // 姓名
    td = document.createElement('td');
    td.append(info.employeeName);
    tr.append(td);

    // 电话
    td = document.createElement('td');
    td.append(info.phone);
    tr.append(td);

    // 信息最后修改时间
    td = document.createElement('td');
    td.append(tools.formatDate(info.lastupdate));
    tr.append(td);

    // tr要添加到表格中
    tbData.append(tr);
  }
}

//#endregion
